/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package suministros.ejb30.business;

import java.math.BigDecimal;
import java.util.List;
import javax.ejb.Local;
import suministros.ejb30.TO.*;
import suministros.ejb30.entity.DetallePedidoSuministro;
import suministros.ejb30.entity.DetallePedidoSuministroPK;
import suministros.ejb30.entity.Parametros;
import suministros.ejb30.entity.Pedido;
/**
 *
 * @author Renato
 */
@Local
public interface SumiAdministracionPedidoLocal {
    public  List<ZonaTO> getListaZonas()
    throws Exception;

  public  List<LocalidadTO> getListaLocalidadZona(String paramString)
    throws Exception;

  public  List<LocalidadTO> getListaLocalidades()
    throws Exception;

  public  List<UnidadOrganizativaTO> getListaUnidOrganizativas()
    throws Exception;

  public  List<CentroCostoTO> getListaCentroCostos()
    throws Exception;

  public  List<CodPresupuestalTO> getListaCodPresupuestal()
    throws Exception;

  public  List<CuentaContableTO> getListaCtaCbles()
    throws Exception;

  public  List<CodigosInversionTO> getListaCodigoInversion()
    throws Exception;

  public  List<TipoTO> getListaTipos()
    throws Exception;

  public  List<Parametros> getListaParametros()
    throws Exception;

  public  boolean insertarPedido(String usuario, String mac,Pedido paramPedido, List<DetallePedidoSuministro> paramList)
    throws Exception;

  public String insertarPedidoAjusteInventario(String usuario, String mac,Pedido pedidoPrinc, List<DetallePedidoSuministro> listadetalle)
          throws Exception ;
  public  List<SuministroTO> getListaSuministros()
    throws Exception;

  public  List<Parametros> getListaParametrosLike(String paramString)
    throws Exception;

  public  List<PedidoTO> getListaPedidos(String paramString1, String paramString2, String paramString3, String paramString4,String empresa)
    throws Exception;

  public  List<DetallePedidoSuministroTO> getListaDetallePedido(String paramString)
    throws Exception;

  public  List<AnoTO> getListaAnos()
    throws Exception;

  public  List<MesTO> getListaMes()
    throws Exception;

  public  List eliminarPedido(String usuario, String mac,String paramString)
    throws Exception;

    List<ProyectoTO> getListaProyectos() throws Exception;

    List<NecesidadesSumiTO> getListaNecesidadesOperativas(String centro_costos, String ano,String empresa) throws Exception;
    List<NecesidadesSumiTO> getListaNecesidadesInversion(String centro_costos, String ano,String empresa) throws Exception;

    List<NecesidadesSumiDetalleTO> getListaNecesidadesDetalleLocalidadOperativo(String centro_costo, String ano,String empresa) throws Exception;

    List<NecesidadesSumiDetalleTO> getListaNecesidadesDetalleLocalidadInversion(String cod_proy, String ano,String empresa) throws Exception;

    boolean procesarRequerimientos(String usuario, String mac,List<NecesidadesSumiTO> listaTareas) throws Exception;

    boolean procesarDetalleRequerimientos(String usuario, String mac,List<NecesidadesSumiDetalleTO> listaTareas) throws Exception;

    public java.util.List<suministros.ejb30.TO.PedidoTO> getListaPedidos(String empresa) throws java.lang.Exception;

    List<DetalleOrdenTO> getListaDetallePedidoOrden(String cod_pedido) throws Exception;

    List<AlmacenTO> getListaAlmacenesPorZona(String cod_zona) throws Exception;

    List<SubAlmacenTO> getListaSubAlmacenesPorAlmacen(String cod_almacen) throws Exception;

    public List<PedidoTO> getPedidosPorTipoOrden(List<ZonaTO> zonas_usuario, String id_empresa) throws Exception;

    List<DetallePedidoSuministroTO> getDetallePedidoAll() throws Exception;

    List<DetallePedidoSuministroTO> getDetallePedidosParaOrden(List<ZonaTO> zonas_usuario,String id_empresa) throws Exception;

    List<DetalleOrdenTO> getListaDetallePedidoOrden(DetallePedidoSuministroPK pk_detalle_pedido) throws Exception;

    List<PedidoTO> getListaPedidosNoAtendidos(String cod_zona, String id_empresa) throws Exception;

    boolean rechazarPedido(String cod_pedido, List<DetallePedidoSuministroTO> detalle) throws Exception;

    boolean aceptarPedido(String cod_pedido, List<DetallePedidoSuministroTO> detalle) throws Exception;
    public List<PedidoTO> getListaPedidosInversion(String cod_proyecto, String zona, String ano, String mes) throws Exception ;

    public void aprobarRequerrimientos(String usuario, String mac,java.util.List<suministros.ejb30.TO.NecesidadesSumiDetalleTO> listaGeneral, java.util.List<suministros.ejb30.TO.NecesidadesSumiTO> generalNecesidades) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.NecesidadesSumiTO> getListaNecesidadesOperativasAp(java.lang.String centro_costos, java.lang.String ano, java.lang.String empresa, String zona) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.NecesidadesSumiTO> getListaNecesidadesInversionAp(java.lang.String cod_proy, java.lang.String ano,java.lang.String empresa) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.NecesidadesSumiTO> getListaNecesidadesOperativasMod(java.lang.String centro_costos, java.lang.String ano,java.lang.String empresa) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.NecesidadesSumiTO> getListaNecesidadesInversionMod(java.lang.String cod_proy, java.lang.String ano,java.lang.String empresa) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.SuministroStockTO> getStockSuministro(java.lang.String id_suministro,String empresa) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.PedidoTO> getPedidosPorTipoOrdenServicio(java.util.List<suministros.ejb30.TO.ZonaTO> zonas_usuario) throws java.lang.Exception;

    public BigDecimal verificarDisponibilidadSuministro(String codigo, boolean es_inversion,String loca,String ano,String mes,String id_sumi, String empresa) throws Exception ;

    public suministros.ejb30.TO.SuministroTO getSuministroEmpresa(java.lang.String codigo, java.lang.String empresa) throws java.lang.Exception;

    public suministros.ejb30.TO.StockAlmacenTO getStockSuministroUbicacion(java.lang.String codigo, java.lang.String subalmacen, java.lang.String empresa) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.StockAlmacenTO> getStockConsultar(java.lang.String suministro, java.lang.String subalmacen, java.lang.String empresa, int tipo);

    public java.util.List<suministros.ejb30.TO.FlujoPedidoTO> getFlujoPedido(java.lang.String cod_pedido) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.SuministroTO> getDatosSuministroEmpresaRequeridos(java.lang.String empresa, java.lang.String  zona) throws java.lang.Exception;

    public java.lang.Boolean guardarPrecioRequerrimientos(java.util.List<suministros.ejb30.TO.SuministroTO> listasuministro) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.ReservaSuministroTO> getReservasSuministros(java.lang.String id_empresa) throws java.lang.Exception;

    public java.lang.Boolean verificarFechasAprobarRequerrimientos() throws java.lang.Exception;

    public java.lang.Boolean verificarFechasHacerRequerrimientos() throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.UnidadOrganizativaTO> getListaUnidOrganizativasNecesidad(java.lang.String anio, java.lang.String cod_uni_depend) throws java.lang.Exception;

    public boolean aprobarRequermientosJefatura(java.lang.String anio, java.util.List<suministros.ejb30.TO.UnidadOrganizativaTO> unidades) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.SuministroTO> getDatosServicioEmpresaRequeridos(java.lang.String empresa, java.lang.String zona, java.lang.String ccosto) throws java.lang.Exception;

    public java.lang.Boolean guardarPrecioRequerrimientosServicio(java.util.List<suministros.ejb30.TO.SuministroTO> listasuministro, java.lang.String ccosto) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.NecesidadesSumiTO> getListaNecesidadesOperativasModZona(java.lang.String centro_costo, java.lang.String ano, java.lang.String empresa, java.lang.String zona) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.UnidadOrganizativaTO> verificarAprobacionDependencias(java.lang.String unidad_organizativa) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.SuministroTO> getSuministroAdministrar(java.lang.String codigo) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.GrupoSuministrosTO> getListaGrupoSuministrosAdministrar(java.lang.String codigo) throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.GrupoSuministrosTO> getListaGrupoSuministros() throws java.lang.Exception;

    public java.util.List<suministros.ejb30.TO.GrupoSuministrosTO> getListaGrupoSuministrosPadre() throws java.lang.Exception;
}
